package com.whalefin.persistence;

import com.sun.org.apache.bcel.internal.generic.IUSHR;
import com.whalefin.domain.User;

import java.util.List;

/**
 * 用户相关 Table = User
 *
 * @author sf
 */
public interface UserMapper {



    /**
     * 注册新用户
     * @param user
     */
    public int registerUser(User user);

    /**
     *添加手机号
     */
    public int insertPhoneNum(String[] phoneNum);

    /**
     * 根据手机号，更新验证码
     */
    public int updateCode(Integer id,String code);

    /**
     * 根据手机号查询用户id
     * @param phoneNum
     * @return
     */
    public List<User> queryIdByPhoneNum(String[] phoneNum);

    /**
     * 注册新用户
     * @param phoneNum
     * @param password
     * @param code
     * @return
     */
    public int insertIntoUser(String phoneNum,String password,String code);

    /**
     *用户名查重
     *
     */
    public int checkUser(String username);

    /**
     *用户登录
     */
    public User userLogin(String phoneNum, String loginPassword);

    /**
     * 上传经纬度
     */
    public int updateUserLocation(Double lng, Double lat, Integer userId);

    /**
     * 查询所有用户
     */
    public List<User> queryAllUser();

    /**
     * 根据发布人id查询该用户信息
     * @param userId
     * @return
     */
    public User queryUserByUserId(Integer userId);

    /**
     * 用户上传头像
     * @param userPic
     * @param userId
     * @return
     */
    public int updateUserPic(String userPic, Integer userId);

    /**
     * 检验手机号是否被注册
     * @param phoneNum
     * @return
     */
    public int queryUserPhoneNum(String[] phoneNum);

    public int queryPhoneNum(String phoneNum);

    /**
     * 设置用户信息
     * @param user
     * @return
     */
    public int updateUserMsg(User user);

    /**
     * 查询旧密码是否正确
     * @param oldPassword
     * @param userId
     * @return
     */
    public User queryUserByPassword(String oldPassword,Integer userId);

    /**
     * 修改密码
     * @param newPassword
     * @param userId
     * @return
     */
    public int updatePassword(String newPassword,Integer userId);

    /**
     * 检验验证码是否存在
     * @return
     */
    public int queryVerifyCode(String code,String phoneNum);

    /**
     * 注册用户
     * @param phoneNum
     * @param code
     * @param password
     * @return
     */
    public int updateUser(String phoneNum,String code,String password);

    /**
     * 忘记密码
     * @param phoneNum
     * @param newPassword
     * @return
     */
    public int updateUserPassword(String phoneNum,String newPassword);

    /**
     * 扣款
     * @param balance
     * @param userId
     * @return
     */
    public int updateBalance(Double balance,Integer userId);




    /**
     *
     * 以下方法后台使用
     *
     */

    public int totalCountUser();//用户总数

    public List<User> queryUserByCondition(Integer indexPage,Integer pageSize);//所有用户信息

    public int totalCountByUser(User user);//根据条件查询用户总数

    public List<User> queryAllUserByUser(User user);//根据条件查询用户信息

}
